--- see 'https://github.com/Frege/frege/issues/66 issue 66'
--- Results in a javac error, because B.foo is lazier than A.foo
module tests.comp.Issue66 where

class A a where
    foo :: Maybe a -> Int

class A b => B b where
    foo = maybe 0 (const 42) 

instance B String

main = println (foo (Just "Okay")) >> println (foo (Nothing:: Maybe String))